A key objective of information systems designers is the presentation of information representing data stored in the memory device of a processor-controlled system to the human user of the system in an effective image format that conveys and enhances the understanding of the information in a spacially efficient and effective manner, and permits the system user to quickly and efficiently specify and locate information of particular interest.
A familiar and effective information presentation form for certain types of structured information is that of an image of a table, also referred to herein as a "table image". As used herein, a "table" is an orderly, rectilinear arrangement of information, typically but not necessarily, ordered in a rectangular form of rows and columns and having identifiers, such as labels, arranged at the periphery of the table. The intersection of a row and column in a table defines a data location, typically called a "cell", and may include alphabetic and numeric character data or arithmetic operators or formulas. A table is distinguishable from various types of graphs which do not have all of the characteristics of the orderly, rectilinear arrangement of information found in a table. A popular application of a table image is the "spreadsheet", the information presentation format used by a computer-implemented spreadsheet application program that presents a tabular image of underlying data stored in the memory of a system, and that provides a system user with access to the stored data via the manipulation of the character display features that visually represent the underlying data presented in the cells of the spreadsheet. Table images also may be used in a wide variety of application program contexts where the information structure includes linear elements and is organized in, or is capable of being organized in, an n-dimensional "array data structure".
A common problem that exists with the presentation of data in a table image format of any size involves the display of character, or non-graphical, display features such as text and numbers, in the table cells representing the data in the information structure. Rows and columns of text and numbers, even when sorted or ordered to reflect a particular information interest of the system user, do not necessarily present the information in the data structure in a form meaningful for detecting patterns in the information, or for seeing overall trends in the data. The ability to detect patterns and trends often facilitates for the system user both navigation through the data and rapid understanding of the key principles that the data conveys.
Another problem specifically involves the presentation of large table images representing a large information structure when there is too much data for all of the data to be clearly presented in a table image that fits in the display area of the system display device. This phenomenon is referred to as the table's wide or extreme aspect ratio. The application program typically only presents a portion of the table image in the display area, and provides a function for the system user to scroll through the table image to reach portions not currently visible in the display area in order to access the data represented by the character images in the table cells. As scrolling brings new cells of the table image into view in the display area, the previously displayed cells, including row and column identifiers such as labels, typically disappear from the display area, and global context information, important for navigating around the table image and for understanding the data that is currently displayed, is lost from the systems user's view. This presentation technique of scrolling through a large table image makes use of what is known as a time strategy for presenting information: the user controls the display of sequential multiple views of the data over a period of time in order to view all of the data.
Two information presentation design strategies are particularly useful for improving the presentation of information and make advantageous use of certain human perceptual abilities in order to maximize rapid and efficient understanding of information presented as an image in the workspace or display area of a display device.
One of these design strategies, which may be called a "space strategy", uses layout and graphic design techniques to present substantially all information in a data structure in one view in the workspace. This strategy typically involves the presentation of information in primarily graphical or pictorial form rather than in non-graphical or character (textual) form because of the size limitations of the workspace of a display device, and because of limitations on the amount of detail that a human user is actually able to perceive.
The other design strategy of interest herein involves the presentation of specific information of particular interest to a system user while concurrently maintaining and displaying the global context and structure of the body of information from which the specific information was selected. The fundamental motivation of this strategy is to provide a balance of local detail and global context. Local detail is needed for the local interactions with the data. The global context is needed to tell the system user what other parts of the data exist and where they are, and may also be important in more effective interpretation of the local detail. One common implementation of this strategy presents the global information in less detail than the local information. This strategy may be considered as a combination of the time and space strategies discussed earlier.
Both of these design strategies are especially important when the data to be presented is part of a large information structure, such as a computer program, a database, a large document structure or collection of documents, or the like. But these design strategies are useful for the presentation of information structures of virtually any size, and subsequent discussions of the application of these strategies in the invention described herein to large information structures is not intended to necessarily limit the invention's application to large data structures.
An example of an application of the information presentation design strategies discussed above may be found in George W. Furnas, "Generalized Fisheye Views", Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems, April 1986, ACM, pp. 16-23. Furnas discloses the application of "fisheye views" of information to the design of a computer interface for the display of large information structures, presenting a simple formalism for defining a fisheye view based on a "Degree of Interest" (hereafter also referred to as "DOI") function that allows fisheye views to be defined in any sort of information structure where the necessary components of the formalism can be defined. Furnas further discloses that the basic strategy for the display of a large structure uses the degree of Interest function to assign to each point in the information structure a number telling how interested the user is in seeing that point, given the current task. A display of any size, n, can then be made by simply showing the n "most interesting" points as described by the DOI function. Furnas also discloses the definition of fisheye DOI functions for tree structures, and illustrates the fisheye strategy as applied to a calendar showing the current day in "day-at-a-time" detail, the current week in "week-at-a-time" detail, and the rest of the month in "month-at-a-time" detail.
An extension of the fisheye view information presentation strategy to the domain of graphs is disclosed in Manojit Sarkar and Marc H. Brown, "Graphical Fisheye Views of Graphs", Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems, April 1992, ACM pp. 83-91. Sarkar and Brown introduce layout considerations into the fisheye formalism, so that the position, size, and level of detail of objects displayed are computed based on client-specified functions of an object's distance from the user's current point of interest, called the "focus", and the object's preassigned importance in the global structure. Sarkar and Brown disclose that the size and detail of a vertex in the fisheye view depends on the distance of the vertex from the focus, a preassigned importance associated with the vertex, and the value of some user-controlled parameters.
Another application of these strategies for presenting information that combines the time and space strategies may be found in J. D. Mackinlay, G. G. Robertson, and S. K. Card, "The perspective wall: Detail and context smoothly integrated", Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems, ACM, April 1991, pp. 173-179. Mackinlay et al. disclose a technique called the "Perspective Wall" for efficiently visualizing linearly and temporally structured information with wide aspect ratios by smoothly integrating detailed and contextual views. Specialized hardware support for three dimensional (3D) interactive animation is used to fold wide two dimensional (2D) layouts into 3D visualizations that have a center panel for detail and two perspective panels for context, thereby integrating detailed and contextual views into a single workspace display, and allowing the ratio of detail and context to be smoothly adjusted.
Still another application of these strategies may be found in Robert Spence and Mark Apperley, "Database Navigation: An Office Environment for the Professional", Behavior and Information Technology, 1982, pp. 43-54, in particular at pp. 48-52, wherein there is disclosed a 2D display, called the Bifocal Display. The Bifocal Display contains a detailed view of information positioned in a horizontal strip combined with two distorted views, where items on either side of the detailed view are distorted horizontally into narrow vertical strips. The combined views make the entire data structure visible to the system user. The Bifocal Display technique makes use of the visual display of graphical representations of data items to facilitate the identification and location of information of interest and permits that information to be pulled into a central "close-up" region for more detailed examination. Spence and Apperley disclose that, by this action, the whole strip of data representing the information structure is moved across the display area, preserving the spatial relationships between individual items while retaining the overall view of the entire information structure. The display permits a zoom action to be carried out within the central region in order to increase the level of detail about a data item provided there. Spence and Apperley further disclose that attributes suitable for encoding the data items in the information structure in the outer regions of the Bifocal Display include color, shape, size, tags, pulsed illumination, and position, and they suggest that the use of alphanumerics be restricted to possibly only a single character per item. Spence and Apperley also discuss the application of the Bifocal Display presentation technique to a personal diary, or calendar, information structure, where a 2D arrangement of diary pages allows for the horizontal scrolling of weeks and the vertical scrolling of days into and out of the central region from the outer regions. In the central region the diary is considered to be a 2D arrangement of "pages", each representing one week, which can be scrolled through the central viewport both vertically (by days) and horizontally (by weeks) such that at a given time any seven contiguous days can be seen in detail.
Baker et al. in U.S. Pat. No. 5,226,118 discloses a data analysis computer system capable of storing measurement data from plural measured processes and definitions for many data analysis charts. There is further disclosed a data display gallery feature which divides the computer system's display into a two dimensional array of cells, called a graphical spreadsheet or gallery, having cell definitions assigned to at least a subset of the cells. Each cell definition consists of either a set of measurement data which can be displayed as a unit, or a mathematical combination of a plurality of specified sets of measurement data. Typically each displayed cell contains a data map depicting a set of data in accordance with a corresponding cell definition. Each cell in the gallery is a graphic image representing an independent data analysis unit, and data points for each cell are selected by the user from a currently displayed control or trend chart, allowing visual comparison of plural data maps. Since each cell is independent from other displayed cells, the user of the system may assign each cell a different type of display or data analysis function using data mapping and data analysis menus. If the number of cells in the gallery exceeds the number that can be viewed at any one time, the vertical and horizontal scroll bars on the edges of the gallery display can be used to scroll the display so as to bring any particular cell into view. Thus, the graphical spreadsheet disclosed by Baker may not display all of the available data in one display area or workspace, and is not a spreadsheet, or table of data showing interrelated information by rows and columns in the more commonly understood sense.
Researchers concerned with the optimal construction and presentation of graphs, charts, maps and the like provide another source of related work for the study of effective information presentation. For example, Jacques Bertin, in a comprehensive book about the study of graphics as a sign system entitled Semiology of Graphics (1983 English translation from the French 1973 second edition), discusses, in Part II of the book, theories for constructing a class of graphs called diagrams, which include "image" and table, or "matrix", files, using graphic information processing techniques so as to effectively display large amounts of related data in a single graphic. The image and matrix files, for example, represent quantities by variation in an amount of black ink.
These examples of information presentation techniques do not address, either individually or in combination, the particular problems associated with processor-controlled systems designed for effectively presenting information suited for display in a two-dimensional (2D) table or spreadsheet image structure where the positional relationship of data arranged by rows and columns conveys information about the data, and where the presentation of all of the detail contained in the sets of related information arranged in a row or column is necessary for a system user to accurately access the data in the underlying data structure via interaction with the image. The "fisheye" techniques as applied to a rectangular image such as a calendar do not adequately address the general problem of the presentation of the data in the non-focus areas. The 3D Perspective Wall requires specialized processing hardware, and may be unsuited for the display of interrelated table data, where 3D distortion of cell region sizes may detract from information understanding. The graphical spreadsheet disclosed in Baker et al. is not actually suited for the type of interrelated data organization typically intended for display in table form, since each cell is independent from the others. The graphical mapping techniques disclosed in Bertin do not address the issues of simultaneously presenting both the global and local context of the interrelated information presented in a table image. Many of these information presentation examples do not provide mechanisms for shifting between the global and focus modes, and for efficiently navigating through, a table image to rapidly locate data of interest. Moreover, none of these examples of information presentation techniques address the problem of effectively displaying table images that are too large to fit in the display area while simultaneously providing a system user with efficient access to data in individual cells.